<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Assitente de Data : Guia do Usuário CodeIgniter</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="all" />
<meta name="author" content="ExpressionEngine Dev Team" />
<meta name="description" content="Guia do Usuário do CodeIgniter" />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Alternar Tabela de Conteúdos" alt="Alternar Tabela de Conteúdos" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Guia de Usuário CodeIgniter Versão 2.0.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Tabela de Conteúdos</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com.br/">Página Inicial</a> › 
<a href="../index.html">Guia de Usuário CodeIgniter</a> › Assitente de Data
</td>
<td id="searchbox"><form method="get" action="http://www.google.com.br/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com.br/manual/" />Busca <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Ok" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Assitente de Data</h1>

<p>O arquivo Assistente de Data contém funções que auxiliam no trabalho com datas.</p>


<h2>Carregando este Assistente</h2>

<p>Este assistente é carregado usando o seguinte código:</p>
<code>$this->load->helper('date');</code>


<p>As funções disponíveis são as seguintes:</p>

<h2>now()</h2>

<p>Retorna a hora atual no format Unix timestamp, referente ou ao seu servidor local ou a hora GMT, baseada na "hora referência"("time reference")
configurada em seu arquivo de configuração. Se você não pretende configurar sua hora mestre conforme a hora GMT (que normalmente é o que você faz se você
permite que cada usuário ajuste suas próprias configurações de local e data) não haverá benfício em usar esta função ao invés da função time() do PHP.
</p>




<h2>mdate()</h2>

<p>Esta função é idêntica à função <a href="http://www.php.net/date">date()</a> do PHP, a não ser pelo fato que ela lhe
permite usar códigos de data no estilo do MySQL, onde cada código é precedido por uma sinal de percentual: %Y %m %d etc.</p>


<p>O benfício de fazer datas desta maneira é que você não precisa se preocupar em dar escape em nenhum caracter que
não seja um código de data, como você normalmente faria se usasse a função date(). Exemplo:</p>

<code>$datestring = "Ano: %Y Mês: %m Dia: %d - %h:%i %a";<br />
$time = time();<br />
<br />
echo mdate($datestring, $time);</code>

<p>Se o timestamp não estiver incluído no segundo parâmetro a hora atual será usada.</p>


<h2>standard_date()</h2>

<p>Permite gerar uma string de data em um dos muitos formatos padronizados. Exemplo:</p>

<code>
$formato = 'DATE_RFC822';<br />
$time = time();<br />
<br />
echo standard_date($formato, $time);
</code>

<p>O primeiro parâmetro deve conter o formato, o segundo parâmetro deve conter a data como Unix timestamp.</p>

<p>Formatos suportados:</p>

<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
	<tr>
		<th>Constante</th>
		<th>Descrição</th>
		<th>Exemplo</th>
	</tr>
	<tr>
		<td>DATE_ATOM</td>
		<td>Atom</td>
		<td>2005-08-15T16:13:03+0000</td>
	</tr>
	<tr>
		<td>DATE_COOKIE</td>
		<td>HTTP Cookies</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_ISO8601</td>
		<td>ISO-8601</td>
		<td>2005-08-14T16:13:03+00:00</td>
	</tr>
	<tr>
		<td>DATE_RFC822</td>
		<td>RFC 822</td>
		<td>Sun, 14 Aug 05 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC850</td>
		<td>RFC 850</td>
		<td>Sunday, 14-Aug-05 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC1036</td>
		<td>RFC 1036</td>
		<td>Sunday, 14-Aug-05 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC1123</td>
		<td>RFC 1123</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>	
	</tr>
	<tr>
		<td>DATE_RFC2822</td>
		<td>RFC 2822</td>
		<td>Sun, 14 Aug 2005 16:13:03 +0000</td>
	</tr>
	<tr>
		<td>DATE_RSS</td>
		<td>RSS</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_W3C</td>
		<td>World Wide Web Consortium</td>
		<td>2005-08-14T16:13:03+0000</td>
	</tr>
</table>

<h2>local_to_gmt()</h2>

<p>Pega um Unix timestamp como entrada e retorna como um GMT. Exemplo:</p>

<code>$agora = time();<br />
<br />
$gmt = local_to_gmt($agora);</code>


<h2>gmt_to_local()</h2>

<p>Pega um Unix timestamp (referente ao GMT) como entrada e o converte para um timestamp local basead no
fuso e horário de verão enviados. Exemplo:</p>

<code>
$timestamp = '1140153693';<br />
$timezone  = 'UM8';<br />
$daylight_saving = TRUE;<br />
<br />
echo gmt_to_local($timestamp, $timezone, $daylight_saving);</code>

<p><strong>Nota:</strong> Para uma lista de fusos horários veja a referência no final desta página.</p>

<h2>mysql_to_unix()</h2>

<p>Pega um MySQL Timestamp como entrada e retorna como Unix. Exemplo:</p>

<code>$mysql = '20061124092345';<br />
<br />
$unix = mysql_to_unix($mysql);</code>


<h2>unix_to_human()</h2>

<p>Pega um Unix timestamp como entrada e retorna num formato legível ao homem com este protótipo:</p>

<code>YYYY-MM-DD HH:MM:SS AM/PM</code>

<p>Pode ser útil se você precisar exibir uma data num campo de formulário para envio.</p>

<p>A hora pode ser formatado com ou sem secundos, e pode ser configurada para formato Europeu ou Americano. Se apenas
o timestamp é enviado, ele retornará a hora sem segundos formatados para os exemplos dos EUA: Exemplos</p>

<code>$agora = time();<br />
<br />
echo unix_to_human($agora); // Formato de hora Americano, sem segundos<br />
<br />
echo unix_to_human($agora, TRUE, 'us'); // Formato Americano com segundos<br />
<br />
echo unix_to_human($agora, TRUE, 'eu'); // Formato Europeu com segundos</code>


<h2>human_to_unix()</h2>

<p>Oposto à função acima. Pega a hora "humana" como entrada e retorna no formato Unix. Esta função é
útil se você recebe a hora formatada pelo padrão "humano" através de formulário. Retornará FALSE (booleano) se
a string de hora passada para ela não estiver formatada como indicado acima. Exemplo:</p>

<code>$agora = time();<br />
<br />
$humano = unix_to_human($agora);<br />
<br />
$unix = human_to_unix($humano);</code>





<h2>timespan()</h2>

<p>Formata o unix timestamp de modo que ele fique similar a isto:</p>

<code>1 Ano, 10 Meses, 2 Semanas, 5 Dias, 10 Horas, 16 Minutos</code>

<p>O primeiro parâmetro deve conter um timestamp Unix. O segundo parâmetro deve conter um
timestamp maior ao primeiro timestamp. Se o segundo parâmetro estiver vazio, a hora atual será usada. A finalidade mais comum
para esta função é mostrar quanto tempo se passou desde algum ponto no passado até agora. Exemplo:</p>

<code>$hora_passada = '1079621429';<br />
$agora = time();<br />
<br />
echo timespan($hora_passada, $agora);</code>

<p class="important"><strong>Nota:</strong> O texto gerado por esta função é encontrado no seguinte arquivo de idioma:language/&lt;seu_idioma&gt;/date_lang.php</p>


<h2>days_in_month()</h2>

<p>Retorna o número de dias em um dado mês/ano. Computa anos bissextos na contagem. Exemplo:</p>
<code>echo days_in_month(06, 2005);</code>

<p>Se o segundo parâmetro estiver vazio, o ano atual será usado.</p>
<h2>timezones()</h2>
<p>Toma um fuso horário de referência (para uma lista de fusos horários válidos, consulte a &quot;Referência de Fuso Horário&quot; abaixo) e retorna o número de horas de deslocamento do UTC.</p>
<p><code>echo timezones('UM5');</code></p>
<p>Esta função é útil quando usdo com timezone_menu(). </p>
<h2>timezone_menu()</h2>
<p>Gera um menu pull-down de fusos horários, como este:</p>

<form action="#">
<select name="timezones">
<option value='UM12'>(UTC - 12:00) Enitwetok, Kwajalien</option>
<option value='UM11'>(UTC - 11:00) Nome, Midway Island, Samoa</option>
<option value='UM10'>(UTC - 10:00) Hawaii</option>
<option value='UM9'>(UTC - 9:00) Alaska</option>
<option value='UM8'>(UTC - 8:00) Pacific Time</option>
<option value='UM7'>(UTC - 7:00) Mountain Time</option>
<option value='UM6'>(UTC - 6:00) Central Time, Mexico City</option>
<option value='UM5'>(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</option>
<option value='UM4'>(UTC - 4:00) Atlantic Time, Caracas, La Paz</option>
<option value='UM25'>(UTC - 3:30) Newfoundland</option>
<option value='UM3'>(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</option>
<option value='UM2'>(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</option>
<option value='UM1'>(UTC - 1:00) Azores, Cape Verde Islands</option>
<option value='UTC' selected='selected'>(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</option>
<option value='UP1'>(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</option>
<option value='UP2'>(UTC + 2:00) Kaliningrad, South Africa, Warsaw</option>
<option value='UP3'>(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</option>
<option value='UP25'>(UTC + 3:30) Tehran</option>
<option value='UP4'>(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</option>
<option value='UP35'>(UTC + 4:30) Kabul</option>
<option value='UP5'>(UTC + 5:00) Islamabad, Karachi, Tashkent</option>
<option value='UP45'>(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</option>
<option value='UP6'>(UTC + 6:00) Almaty, Colomba, Dhaka</option>
<option value='UP7'>(UTC + 7:00) Bangkok, Hanoi, Jakarta</option>
<option value='UP8'>(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</option>
<option value='UP9'>(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</option>
<option value='UP85'>(UTC + 9:30) Adelaide, Darwin</option>
<option value='UP10'>(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</option>
<option value='UP11'>(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</option>
<option value='UP12'>(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</option>
</select>
</form>

<p>Este menu é útil se possui um site de cadastros onde cada usuário pode ajustar seu próprio fuso local.</p>

<p>O primeiro parâmetrp permite configurar o item selecionado do menu. Por exemplo, para deixar selecionado o fuso Pacific como padrão você deve fazer isto:</p>

<code>echo timezone_menu('UM8');</code>

<p>Por favor veja a referência de fusos abaixo para ver os valores deste menu.</p>

<p>O segundo parâmetro permite configurar um class name de CSS para o menu.</p>

<p class="important"><strong>Nota:</strong> O texto contido no menu pode ser encontrado no seguindo arquivo de idioma: language/&lt;seu_idioma&gt;/date_lang.php</p>



<h2>Referência de Fuso-horário</h2>

<p>A tabela a seguir mostra cada fuso horário com sua localização.</p>

<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
<tr>
<th>Fuso horário</th>
<th>Localização</th>
</tr><tr>

<td class="td">UM12</td><td class="td">(UTC - 12:00) Enitwetok, Kwajalien</td>
</tr><tr>
<td class="td">UM11</td><td class="td">(UTC - 11:00) Nome, Midway Island, Samoa</td>
</tr><tr>
<td class="td">UM10</td><td class="td">(UTC - 10:00) Hawaii</td>
</tr><tr>
<td class="td">UM9</td><td class="td">(UTC - 9:00) Alaska</td>
</tr><tr>
<td class="td">UM8</td><td class="td">(UTC - 8:00) Pacific Time</td>
</tr><tr>
<td class="td">UM7</td><td class="td">(UTC - 7:00) Mountain Time</td>
</tr><tr>
<td class="td">UM6</td><td class="td">(UTC - 6:00) Central Time, Mexico City</td>
</tr><tr>
<td class="td">UM5</td><td class="td">(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</td>
</tr><tr>
<td class="td">UM4</td><td class="td">(UTC - 4:00) Atlantic Time, Caracas, La Paz</td>
</tr><tr>
<td class="td">UM25</td><td class="td">(UTC - 3:30) Newfoundland</td>
</tr><tr>
<td class="td">UM3</td><td class="td">(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</td>
</tr><tr>
<td class="td">UM2</td><td class="td">(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</td>
</tr><tr>
<td class="td">UM1</td><td class="td">(UTC - 1:00) Azores, Cape Verde Islands</td>
</tr><tr>
<td class="td">UTC</td><td class="td">(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</td>
</tr><tr>
<td class="td">UP1</td><td class="td">(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</td>
</tr><tr>
<td class="td">UP2</td><td class="td">(UTC + 2:00) Kaliningrad, South Africa, Warsaw</td>
</tr><tr>
<td class="td">UP3</td><td class="td">(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</td>
</tr><tr>
<td class="td">UP25</td><td class="td">(UTC + 3:30) Tehran</td>
</tr><tr>
<td class="td">UP4</td><td class="td">(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</td>
</tr><tr>
<td class="td">UP35</td><td class="td">(UTC + 4:30) Kabul</td>
</tr><tr>
<td class="td">UP5</td><td class="td">(UTC + 5:00) Islamabad, Karachi, Tashkent</td>
</tr><tr>
<td class="td">UP45</td><td class="td">(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</td>
</tr><tr>
<td class="td">UP6</td><td class="td">(UTC + 6:00) Almaty, Colomba, Dhaka</td>
</tr><tr>
<td class="td">UP7</td><td class="td">(UTC + 7:00) Bangkok, Hanoi, Jakarta</td>
</tr><tr>
<td class="td">UP8</td><td class="td">(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</td>
</tr><tr>
<td class="td">UP9</td><td class="td">(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</td>
</tr><tr>
<td class="td">UP85</td><td class="td">(UTC + 9:30) Adelaide, Darwin</td>
</tr><tr>
<td class="td">UP10</td><td class="td">(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</td>
</tr><tr>
<td class="td">UP11</td><td class="td">(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</td>
</tr><tr>
<td class="td">UP12</td><td class="td">(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</td>
</tr>
</table>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Tópico Anterior:&nbsp;&nbsp;<a href="cookie_helper.html">Assitente de Cookie</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Topo da Página</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">Guia de Usuário CodeIgniter</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Próximo Assunto:&nbsp;&nbsp;<a href="directory_helper.html">Assitente de Diretório</a>
</p>
<p><a href="http://codeigniter.com.br">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>